#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<unistd.h>
#include<fcntl.h>
#include<sys/stat.h>
#include<errno.h>

int main()
{
  umask(0);
  int ret=mkfifo("./test.fifo",0664);      //创建一个命名管道文件
  if(ret<0 && errno!=EEXIST){
    perror("mkfifo error!\n");
    return -1;
  } 


  //打开管道向其中写入数据
  int fp=open("./test.fifo",O_WRONLY);
  if(fp<0){
     perror("open erroe!\n");
     return -1;
  }
   //循环写入数据
  while(1){
    printf("xzz: ");
    fflush(stdout);
    char buf[1024]={0};
    scanf("%s",buf);      //从键盘获取字符信息

    int ret=write(fp,buf,strlen(buf));
    if(ret<0){
        perror("write error!\n");
        close(fp);
        return -1;
    }
  }
  close(fp);
  return 0;
}


